﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FreedomERP.Models;

namespace FreedomERP.Dao.Inv
{
    /// <summary>
    /// 送货单数据层接口类
    /// 作者：姚少鹏
    /// </summary>
    interface IInvSendOrderDao
    {
        /// <summary>
        /// 添加送货单
        /// </summary>
        /// <param name="sendOrder"></param>
        void addSendOrder(InvSendOrder sendOrder);

        /// <summary>
        /// 删除送货单
        /// </summary>
        /// <author>陈新杰</author>
        /// <param name="FId"></param>
        void delSendOrder(string FId);

        /// <summary>
        /// 更新送货单
        /// </summary>
        /// <param name="sendOrder"></param>
        void updateSendOrder(InvSendOrder sendOrder);

        /// <summary>
        /// 根据FId获取送货单
        /// </summary>
        /// <param name="FId"></param>
        /// <returns></returns>
        InvSendOrder getSendOrderByFId(string FId);

        /// <summary>
        /// 获取送货单列表
        /// </summary>
        /// <returns></returns>
        List<InvSendOrder> getSendOrderList();

        /// <summary>
        /// 获取送货单列表
        /// </summary>
        /// <param name="FStartTime"></param>
        /// <param name="FEndTime"></param>
        /// <param name="FCustomerID"></param>
        /// <param name="FOrderNumber"></param>
        /// <param name="FStatusId"></param>
        /// <param name="total"></param>
        /// <returns></returns>
        List<InvSendOrder> getSendOrderList(string FStartTime, string FEndTime, string FCustomerID, string FOrderNumber, string FStatusId, int start, int limit, out int total, string currAccountOrgunitFId);

        /// <summary>
        /// 保存修改
        /// </summary>
        /// <author>梁建东</author>
        /// <returns></returns>
        void Save();

        /// <summary>
        /// 审核送货单
        /// </summary>
        /// <author>梁建东</author>
        /// <returns></returns>
        void approveSendOrder(string FId, string currAccountFId);

        /// <summary>
        /// 更新欠货单
        /// </summary>
        /// <param name="FId"></param>
        /// <param name="FCustomerId"></param>
        /// <param name="FRemark"></param>
        /// <param name="FStatusId"></param>
        /// <param name="FStatusNumber"></param>
        /// <param name="FUpdateAcoountId"></param>
        /// <author>陈新杰</author>
        void updateSendOrder(string FId, string FCustomerId, string FRemark, string FStatusId, string FStatusNumber, string FUpdateAcoountId);

         /// <summary>
        /// 审核送货单(格力)
        /// </summary>
        /// <author>梁建东</author>
        /// <returns></returns>
        void approveSendOrderGeLi(string FId, string currAccountFId);
    }
}
